# 列表的修改
stus = ['孙悟空', '猪八戒', '沙和尚', '唐僧']

"""
1、修改列表中的元素
2、直接通过索引来修改元素
"""
stus[0] = 'sunwukong'
# 输出：['sunwukong', '猪八戒', '沙和尚', '唐僧']
print(stus)

# 通过del来删除元素
del stus[2]
# 删除索引为2的元素，输出：['sunwukong', '猪八戒', '唐僧']
print(stus)
# 通过切片来删除元素
# del stus[0:2]

stus = ['孙悟空', '猪八戒', '沙和尚', '唐僧']

# 通过切片来修改列表
# 在给切片进行赋值时，只能使用序列
"""
使用新的元素替换旧元素
"""
stus[0:2] = ['牛魔王', '红孩儿']
print(stus)
stus[0:2] = ['牛魔王', '红孩儿', '二郎神']
print(stus)
# 当设置了步长时，序列中元素的个数必须和切片中元素的个数一致,
# 输出：['牛魔王', '红孩儿', '二郎神', '沙和尚', '唐僧']
stus[::2] = ['牛魔王', '红孩儿', '二郎神']

# 以上操作，只适用于可变序列
s = 'hello'
# s[1] = 'a' 不可变序列，无法通过索引来修改
# 可以通过 list() 函数将其他的序列转换为list
s = list(s)
s[0] = '5'
# 输出：['5', 'e', 'l', 'l', 'o']
print(s)
